package com.liqi.common.utils;

import java.util.List;

import com.liqi.common.core.redis.RedisCache;
import com.liqi.common.utils.spring.SpringUtils;

/**
 * 缓存工具类
 * 
 * @author zhongping
 * @date 2022-2-11 17:04:16
 */
public class CacheUtils
{
    /**
     * 设置缓存
     * 
     * @param key 参数键
     * @param datas 数据列表
     */
    public static<T> void setCache(String key, List<T> datas)
    {
        SpringUtils.getBean(RedisCache.class).setCacheObject(key, datas);
    }

    /**
     * 获取缓存
     * 
     * @param key 参数键
     */
    public static<T> List<T> getCache(String key)
    {
        Object cacheObj = SpringUtils.getBean(RedisCache.class).getCacheObject(key);
        if (StringUtils.isNotNull(cacheObj))
        {
            List<T> datas = StringUtils.cast(cacheObj);
            return datas;
        }
        return null;
    }
    
    /**
     * 删除指定缓存
     * 
     * @param key 键
     */
    public static void removeCache(String key)
    {
        SpringUtils.getBean(RedisCache.class).deleteObject(key);
    }
}
